The present invention relates to the routing of data within communications networks, including but not confined to networks such as the Internet, and particularly, but not exclusively, to a method of routing data directed to a mobile node. The mobile node may be a mobile host, such as a portable computer, or it may be a router which is responsible for the mobility of one or more entire networks, for example, the mobile data network within an aircraft. In either case, the mobile node may change its point of attachment from one network or subnetwork to another.
The routing of data around the diverse networks which make up the Internet is based on a protocol known as the Internet Protocol (IP). Data is transferred in the form of data units known as IP datagrams between points in the Internet specified by IP addresses. The use of IP hides the physical nature of the underlying networks from application processes running over the Internet. These networks may, for example, be a combination of wired and wireless local and wide area networks using different physical protocols such as Ethernet and token-ring, including networks linked by telephone through an Internet Service Provider (ISP), or through satellite or ground based radio or infrared links.
The detailed specification of IP is available in a xe2x80x9cRequest for Commentsxe2x80x9d document, RFC 791, maintained by the Internet Engineering Task Force (IETF). RFC documents are widely available on the Internet at, for example, xe2x80x9cftp://ds.internic.net/rfc/rfcxxxx.txtxe2x80x9d, where xe2x80x9cxxxxxe2x80x9d represents the RFC number, so that RFC 791 is available as rfc791.txt.
The current version of IP, known as IPv4, does not itself support mobility, but a protocol entitled xe2x80x9cIP Mobility Supportxe2x80x9d, commonly referred to as Mobile IP, has been designed to enhance IPv4 to support mobility. This protocol is described in document RFC 2002, available as detailed above. The use of Mobile IP to provide wireless network access for mobile computing users is described in xe2x80x9cWireless Network Extension Using Mobile IPxe2x80x9d, Digest of Papers of Compcon (Computer Society Conference) 1996, Technologies for the Information Superhighway Santa Clara, Feb. 25-28 1996, no. Conf. 41, Feb. 25, 1996, pages 9-14, XP000628459 Institute of Electrical and Electronics Engineers. The next generation of IP (IPv6) is being specifically designed to deal with the mobility requirement.
IPv4 assumes that a node""s IP address uniquely identifies the node""s fixed point of attachment to the Internet. If the node is transferred to a different point, it can only be contacted by allocating it a new IP address. Mobile IP, however, enables a mobile node, such as a laptop or palmtop computer, to send and receive IP datagrams over the Internet regardless of the physical location at which it is connected to the Internet and without changing its IP address; One example of the mechanism by which it does so is illustrated in FIGS. 1a and 1b. 
Referring to FIG. 1a, the Internet comprises a large number of networks and sub-networks 1, 2, 3, 4 connected via routers 5. A router may be a general purpose computer programmed to perform routing tasks. Increasingly, routers throughout the Internet are dedicated pieces of hardware, controlled by software or firmware, provided by companies such as Cisco Systems, California, USA. In either case, the functionality of a router intended for use in an IP based network is defined in RFC 1812.
A mobile node (MN) 6 is normally connected to the Internet via a home network 1. The unique IP address assigned to the node 6 is known as its home address. Mobility agents, known as foreign agents (FA) and home agents (HA), advertise their presence on a network via availability messages known as Agent Advertisements. A mobility agent is typically a router connected to a particular network; for example, a home agent 7 is a router connected to the home network 1 and a foreign agent 8 is a router connected to a foreign network 2. The mobile node 6 may optionally solicit an Agent Advertisement message from, any local mobility agents via an Agent Solicitation message. By receiving Agent Advertisements, the mobile node 6 is able to determine whether it is on its home network 1 or on a foreign network 2, 3, 4.
While the mobile node 6 is on its home network, it has no need for mobility services. When the mobile node 6 is temporarily moved to a foreign network 2, as shown by the dotted box in FIG. 1a, it obtains a temporary care-of address on the foreign network 2. This can be a foreign agent care-of address, which is the IP address of the foreign agent, obtained by receiving or soliciting Agent Advertisements from any foreign agents based on the foreign network 2. Alternatively, the care-of address may be obtained by using an external assignment mechanism, such as Dynamic Host Configuration Protocol (DHCP) (the reader is referred to RFC 1541 for further information), in which case it is known as a co-located care-of address.
The mobile node 6 then registers its new care-of address with its home agent 7 by exchanging Registration Request and Registration Reply messages with it. Registration provides a mechanism by which mobile nodes can communicate their current reachability information to their home agent. The registration process is described in more detail below, assuming that the mobile node 6 on the foreign network 2 is registering a foreign agent care-of address received via an Agent Advertisement from, for example, foreign agent 8.
First, the mobile node 6 sends a Registration Request message to the foreign agent 8, which processes it and forwards it to the mobile node""s home agent 7. The Registration Request message includes the IP address of the foreign agent. The home agent 7 sends a Registration Reply message to the foreign agent 8 granting (or denying) the registration request. The foreign agent 8 processes this Reply and forwards it to the mobile node 6. This process establishes a temporary address for the mobile node 6 to which datagrams can be delivered while the node is roaming away from its home network 1.
If the mobile node 6 is returning to its home network 1 having been on a foreign network 2, it deregisters with its home agent 7, through exchange of Registration Request and Registration Reply messages.
Referring to FIG. 1b, when a correspondent node (CN) 9 attached to a network 4 sends a message intended for the mobile node 6, while it is connected to the foreign network 2, the message is intercepted by the home agent 7, as shown by arrow A. The home agent 7 encapsulates the datagrams forming the message with the care-of address for the mobile node 6, in this example being the IP address of the foreign agent 8, and forwards the message to the foreign agent 8. The transmission of the encapsulated datagrams, shown by arrow B, is known as tunnelling. The foreign agent 8 receives the datagrams, decapsulates them and forwards them to the mobile node 6, as shown by arrow C. Messages from the mobile node 6 to other nodes in the Internet need not follow this route, but may be sent directly via an appropriate router, which may be foreign agent 8.
The concepts of encapsulation and tunnelling are described in detail in RFC 2003, xe2x80x9cIP Encapsulation within IPxe2x80x9d. The model is that a tunnel is the path followed by a datagram while encapsulated. Encapsulation allows an IP datagram to be hidden from intermediate routers which would incorrectly attempt to route it to the mobile node. Instead, the datagram is routed between the encapsulator and a knowledgeable decapsulator, such as a foreign agent, which can correctly route the datagram. The home agent 7 and foreign agent 8 are known as the endpoints of the tunnel. In the case of the co-located care-of address, the mobile node itself acts as an endpoint of the tunnel.
To enable the tunnelling process described above to function correctly, the home agent 7 maintains reachability information for the mobile node 6, in a form known as a mobility binding. This is the association of the mobile node""s identity with a care-of address and a parameter known as the Lifetime, which is the number of seconds remaining before the registration of the node 6 with the home agent 7 expires. The aim behind a Lifetime value is to maintain the dynamic nature of the system, with a binding expiring within a set time unless positively maintained by the mobile node 6. As an example, the default Router Advertisement Lifetime value, which may be used where a mobile node is registering with a foreign agent which it has acquired via an Agent Advertisement, is 1800 seconds.
On receipt of a Registration Request message, the home agent 7 creates or modifies the mobility binding, for example, by resetting the Lifetime value where the Request is a re-registration request and the mobility binding has not yet expired. If the Lifetime value for a given mobility binding expires before a re-registration request has been received, the home agent 7 deletes the mobility binding from its record. The Registration Reply message from the home agent 7 informs the mobile node 6 (via the foreign agent 8) of the status of its Request, including the Lifetime value allocated by the home agent 7.
Mobile IP supports multiple simultaneous mobility bindings, so that each mobile node 6 may register with a number of foreign agents and so obtain a number of care-of addresses. This is particularly useful where a mobile node using a wireless interface to a network, for example an RF interface, moves within range of more than one foreign agent. For example, if the mobile node is a router on an aircraft, then while the aircraft is in flight, the router may from time to time register with a series of foreign agents based on the ground below using a radio link.
In the case of multiple simultaneous mobility bindings, the home agent 7 retains its existing list of mobility bindings when it receives a Registration Request containing the IP address of a new foreign agent. If the Lifetime value of one mobility binding expires, the home agent 7 deletes that mobility binding from its record, but retains in its record the other non-expired bindings.
A problem with this method of data transmission arises when bandwidth bottlenecks occur in the forwarding of data from the home agent, either in the tunnelling routes or in the links between the foreign agents and the mobile node. For example, where the network links between the mobile node and the foreign agents are wireless links, these may have a substantially lower bandwidth than that available between the correspondent node and the home agent.
The primary role of the home agent and foreign agents is to provide the appropriate encapsulation and decapsulation to re-route data arriving at the mobile node""s home network from a correspondent node, so as to reach the mobile node at its current location. The maximum data rate at which data can be received from the correspondent node without data loss is therefore limited to the data rate corresponding to the highest available bandwidth path between the home agent and mobile node.
KOJO M ET AL xe2x80x9cAn Efficient Transport Service for Slow Wireless Telephone Linksxe2x80x9d IEEE Journal on Selected Areas in Communications, vol. 15, no. 7, September 1997, pages 1337-1348, XP002065094 discloses a method of alleviating the problems encountered with the TCP/IP protocol over slow wireless links by providing an alternative protocol which transparently replaces the standard TCP/IP protocol over such links.
To address limitations on the data transfer rate to a mobile node, the present invention provides a method of routing data to a mobile node within a communications network, comprising the steps of determining the location of a plurality of agent nodes from which data can be transmitted to the mobile node; and transmitting successive data units from a stream of data units intended for the mobile node to different respective ones of the agent nodes.
Next successive ones of the data units may be transmitted to the agent nodes on a round robin basis.
Alternatively or in addition, data units may be transmitted to the agent nodes based on an assessment of the availability of each agent node or the quality of the connection between each agent node and the mobile node. The quality of the connection may be assessed in terms of available bandwidth or specifically by considering the level of buffer use at each agent node.
A datagram may be re-routed to a different agent node if the quality of the connection does not meet predetermined criteria, such as a minimum available bandwidth.
A method according to the present invention is capable of providing a virtual bandwidth channel which is the sum of the bandwidths of the individual channels available between the agent nodes and the mobile node.
According to the invention, there is further provided a communications system for mobile data transfer, comprising a mobile node connectable to a foreign network away from its home network, a home agent node associated with the home network for receiving a stream of data units intended for the mobile node, a plurality of foreign agent nodes associated with the foreign network for forwarding data units received from the home agent node to the mobile node, characterised in that the home agent node is configured to transmit successive data units from a received stream of data units to different respective ones of the foreign agent nodes.